The present invention relates to motor and position control systems and equipment therefor, and more particularly, to a high resolution position sensor device and method for increasing the precision of position feedback during movement.
The prior art includes numerous examples of position sensor devices which output electrical pulses as a function of displacement. Examples of these include the device described in U.S. Pat. No. 3,748,486 to Russell, which uses a diffraction grating mounted on a movable machine part for modulating light passing to a photo-electric transducer to produce electrical signals in phase with the movement of the machine part.
In U.S. Pat. No. 3,794,899 to Breslow, there is disclosed a system for evaluating errors in high precision encoders applied to servo control systems. U.S. Pat. No. 4,023,085 to Bishop et al. discloses a numerical control system having a digitized phase loop which uses a resolver providing a digital position feedback signal, to generate an error signal.
U.S. Pat. No. 4,095,158 to Matsumoto discloses a position-controlling system using a resolver to produce a position feedback signal as phase data which is converted into a reference counter and stored in a buffer register, for use in developing a position error signal for driving a servomechanism.
In U.S. Pat. No. 4,503,372 to Nozawa et al., a position control system is disclosed in which error storage means computes an error corresponding to the difference between a command value and the amount of movement sensed by a position sensor mounted on the motor shaft of a movable machine element.
U.S. Pat. No. 5,254,919 to Bridges et al. discloses an encoder system for position control, in which an optical system images encoder segments onto individual sensor elements of a linear array, such as a charge-coupled device sensor, to produce digital signals for a closed loop feedback position controller. Spacing of the sensor, elements with a relatively fine pitch along the array enables a high resolution to be achieved, but this is still insufficient for high precision position control systems.
In servomechanism applications requiring position and speed control for moving parts, or where mechanical synchronization is required, it would be desirable to provide smoother and more precise control by increasing the precision of the position feedback.
In particular, in servo control systems, the control performance is dependent on the position feedback precision. Usually when the system is at rest, servo mechanisms are able to maintain the system at the desired position, within the precision of the position sensor. However, during movement, the precision of the control is worse and an error between the command position and the actual position is observed (tracking error). The lack of precision of the encoder is very often the main factor that limits the performance of the servo system during movement.
Accordingly, it is principal object of the invention to overcome the disadvantages of prior art position control systems and provide a high resolution position sensor device for use in precise positioning of servomechanisms in many applications.
In accordance with a preferred embodiment of the present invention, there is provided a sensor device for measuring a changing variable of a system and providing output values representing the system variable with increased resolution, said device comprising:
means for providing a pulse with each transition of the measured variable over a level of each of a set of regularly spaced apart predetermined levels,
means for generating a train of system clock pulses at a first rate and a train of divided system clock pulses at a fraction of said first rate;
first means for counting a first number of pulses of said divided system clock pulse train occurring between each occurrence of said transition pulse;
means for storing said first counted number of pulses of said divided system clock pulse train;
second means for counting a second number of pulses of said divided system clock pulse train, and resetting said second counted number upon each transition pulse;
second means for storing said second counted number of pulses of said divided system clock pulse train, in a register at a shifted storage position representing a multiple of said second counted number of pulses;
means for repeatedly comparing, at a relatively high rate, said shifted, stor d second counted number and said stored first counted number and producing a difference count therebetween if the former exceeds the latter;
means for generating a high resolution pulse upon replacing said shifted, stored second counted number with said difference count in said register thus providing several high resolution pulses between transition pulses; and
means for calculating the system variable by counting the number of high resolution pulses in the interval between occurrences of said transition pulses.
In the preferred embodiment, the sensor device is provided as a position sensor, providing increased resolution by use of an encoder mounted on the shaft of a motor which produces transition pulses through a light-sensitive arrangement using a photodetector. Each time the pulse makes a transition because the groove of the encoder wheel has passed, a reset signal is produced which resets to zero the number of clock pulses which have been measured for that interval between the transition pulses.
The transition pulses and the time between them changes with changes in motor speed, while the system clock pulse rate remains fixed. The invention provides a more accurate position sensor which operates by generating more transition pulses than the encoder itself actually generates.
Thus, if the encoder produces transition pulses at a given resolution, the sensor device produces output pulses having a higher resolution. If for example, the position sensor is a shaft-mounted encoder delivering N pulses per revolution, the inventive sensor device can deliver, on average, Nxc3x97P pulses per revolution. P is a multiplier, which is set preferably as a power of 2, i.e. P=2r.
At every transition pulse of the position sensor, the time between the last two pulses is calculated, and a corresponding rate of pulses is calculated.
The pulses resulting from the multiplication that have occurred between each transition pulse are counted, and this information is provided as a stored number which is recorded in an interval latch register. The number of system clock pulses occurring between transition pulses changes in accordance with the speed of rotation of the motor. If the motor rotates more slowly, more system clock pulses are counted before the next transition pulse, and if the motor rotates more quickly, fewer system clock pulses are counted before the next transition pulse.
In addition to counting the system clock pulses, a different counter is used to count at a higher rate, so that one system clock pulse is counted as xe2x80x9cPxe2x80x9d clock pulses. This counter counts in the fashion of P, 2P, 3P etc., and P is an arbitrary value of a fixed rate that is chosen.
The accumulated total in the counter which is counting at the higher rate is repetitively compared with the number of pulses in the latch register, and this comparison is performed to see if it exceeds this total number of system clock pulses which was stored in the latch register. When the accumulated total of counted pulses exceeds the amount of pulses stored in the latch resister, the value of the difference over the amount of pulses stored in the counter is used to replace the value in the counter. This subtraction is performed for the purpose of resetting the counter, while continuing to count the system clock pulses, at the higher rate which is chosen. Each time this reset occurs in the counter because it has exceeded the number of pulses stored in the latch register, a high resolution pulse is generated with the replacement of the value in the counter.
The time interval between two high resolution pulses is smaller than that between two transition pulses, because of the higher counting rate. This provides higher resolution of the motor position information, and better position control can be achieved with smaller errors.
The same principle that is applied for measurement of the motor position in one motor rotation direction, can be applied to the measurement when made in the opposite motor rotation direction.
Other features and advantages of the invention will become apparent from the following drawings and description.